%% -*- mode: erlang;erlang-indent-level: 4;indent-tabs-mode: nil -*-
%% ex: ts=4 sw=4 ft=erlang et
{minimum_otp_vsn, "23.2"}.

{erl_opts, [debug_info,
            warn_export_all,
            warn_unused_import,
            warnings_as_errors
           ]}.

{xref_checks, [undefined_function_calls]}.

{eunit_opts, [verbose, {report,{eunit_surefire,[{dir,"."}]}}]}.

{validate_app_modules, true}.

{deps, [
  {getopt, {git, "https://github.com/zmstone/getopt", {tag, "v1.0.2.1"}}},
  {emqtt, {git, "https://github.com/emqx/emqtt", {tag, "1.8.4"}}}
]}.

{escript_name, emqtt_bench}.
{escript_main_app, emqtt_bench}.
{escript_emu_args, "%%! -smp true +K true +A 16 +P 16000000 +Muacnl 0 +hms 64 -env ERL_MAX_PORTS 16000000 -env ERTS_MAX_PORTS 16000000\n"}.
{escript_shebang, "#!/usr/bin/env escript\n"}.
{provider_hooks, [{post, [{compile, escriptize}]}]}.
{post_hooks, [{"(linux|darwin|solaris|freebsd|netbsd|openbsd)",
               escriptize,
               "bash -c '                                                                           "
               "     for nifso in ${REBAR_DEPS_DIR}/quicer/priv/libquicer_nif.so                    "
               "                  ${REBAR_CHECKOUTS_OUT_DIR}/quicer/priv/libquicer_nif.so;          "
               "     do [ -f $nifso ] && cp $nifso ${REBAR_BUILD_DIR}/bin/;                         "
               "     done;                                                                          "
               "     rm ./emqtt_bench ./libquicer_nif.so;                                           "
               "     ln -s \"${REBAR_BUILD_DIR}/bin/emqtt_bench\" ./emqtt_bench;                    "
               "     ln -s \"${REBAR_BUILD_DIR}/bin/libquicer_nif.so\" ./libquicer_nif.so;          "
               "     '                                                                              "
              },
              {"win32",
               escriptize,
               "robocopy \"%REBAR_BUILD_DIR%/bin/\" ./ emqtt_bench* "
               "/njs /njh /nfl /ndl & exit /b 0"} % silence things
             ]}.


%% Note, Profiles are moved to rebar.config.script
%% Read further in rebar.config.script
